package com.tianji.learning.service;

import com.tianji.common.domain.dto.PageDTO;
import com.tianji.learning.domain.dto.QuestionFormDTO;
import com.tianji.learning.domain.po.InteractionQuestion;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.vo.QuestionAdminVO;
import com.tianji.learning.domain.vo.QuestionVO;
import com.tianji.learning.query.QuestionAdminPageQuery;
import com.tianji.learning.query.QuestionPageQuery;

/**
 * <p>
 * 互动提问的问题表 服务类
 * </p>
 *
 * @author Aimer
 * @since 2025-11-10
 */
public interface IInteractionQuestionService extends IService<InteractionQuestion> {

    void addQuestion(QuestionFormDTO questionDTO);

    PageDTO<QuestionVO> pageQuestions(QuestionPageQuery questionPageQuery);

    QuestionVO getByQuestion(Long id);

    PageDTO<QuestionAdminVO> pageAdminQuestions(QuestionAdminPageQuery questionPageQuery);

    void removeQuestion(Long id);

    void updateQuestion(Long id, QuestionFormDTO questionDTO);

    void updateHiddenStatus(Long id, Boolean hidden);

    QuestionAdminVO AdminGetByQuestion(Long id);
}
